package com.dc.http;

import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

/**
 * @author xingzq
 * @version 1.0
 * @date 2022/2/14 17:02
 */
public class EchoServer {
    public static void main(String[] args) throws Exception {
        ServerSocket server = new ServerSocket(9999); // 定义连接端口
        Socket client = server.accept(); // 等待客户端连接
        // 得到客户端输入数据以及向客户端输出数据的对象，利用扫描流接收，打印流输出
        Scanner scan = new Scanner(client.getInputStream());//获取从客户端来的输入流
        PrintStream out = new PrintStream(client.getOutputStream());//输出回客户端
        boolean flag = true; // 设置循环标记
        while (flag) {
            if (scan.hasNext()) { // 是否有内容输入
                String str = scan.next().trim(); // 得到客户端发送的内容，并删除空格
                if (str.equalsIgnoreCase("byebye")) { // 程序结束标记
                    out.println("拜拜，下次再会！"); // 输出结束信息
                    flag = false; // 退出循环
                } else { // 回应输入信息
                    out.println("ECHO : " + str); // 加“ECHO :”前缀返回
                }
            }
        }
        scan.close();
        out.close();
        client.close();
        server.close();
    }
}
